Спринт 2/18 → Тема 4/6: Настройка окружения: Git, pytest → Урок 6/7
История изменений. Откат
Когда программист работает над кодом, он вносит в него немало изменений и фиксирует их в Git. Может случиться такое, что после определённых изменений в работе программы что-то пойдёт не так, например одна из функций начнёт возвращать неверный результат, хотя до изменений всё было в порядке. В таком случае можно, используя возможности Git, вернуться к той версии проекта, которая работала корректно. Для этого вам нужно:
- Получить информацию обо всех коммитах и найти тот коммит, после которого в работе кода возникли проблемы.
- Просмотреть изменения, которые были сделаны в этом коммите.
- Вернуться к коммиту, при котором в работе кода было всё в порядке.
Рассказываем, как это сделать.
Данные коммита
Для того чтобы получить информацию о коммитах проекта backend_test_homework, находясь в любой папке проекта, выполните команду
git log (англ. log, «журнал»):BASH
❗ Когда информации будет много, чтобы не пролистывать все строки до конца, для выхода из режима просмотра журнала можно нажать клавишу [Q] (англ. quit, «выйти»).
Show: что изменилось в файлах
Просмотреть изменения, внесённые в определённом коммите, можно командой
git show (англ. show, «показать»). Она продемонстрирует не просто лог, а конкретные изменения в коде. Введите эту команду, а после неё укажите семь первых символов идентификатора коммита, который вас интересует:BASH
Чтобы посмотреть информацию о последнем коммите, выполните команду
git show без указания идентификатора:BASH
Reset: отказ от изменений
Git — это машина времени. Git может вернуть ваш код в любое предыдущее состояние, если оно сохранено в коммите. Для этого есть команда
git reset (англ. reset, «сброс в исходное состояние»).Чтобы вернуться к определённому коммиту, нужно выполнить команду
git reset и через пробел указать первые семь символов идентификатора нужного коммита, точно так же, как с командой git show:BASH
Можно откатиться на один коммит назад в определённом файле, указав его имя через HEAD:
BASH
HEAD указывает на то, что работа будет вестись с последним сделанным коммитом.
Если не указать имя файла, то в репозитории сбросятся все изменения до состояния последнего коммита:
BASH
Вы зарегистрировались на GitHub и попробовали работать с Git. Вам предстоит ещё не раз обращаться к Git и GitHub, поэтому, чтобы основные команды для работы с системой всегда были под рукой, скачивайте шпаргалку.